package com.evil.kingdom.utils;

import java.util.Random;

/**
 * 名称生成器
 *
 * @author liyang
 * @date 2024-05-23 19:06
 */
public class ChineseNameGeneratorUtil {
    public static void main(String[] args) {
        System.out.println(generateRandomChineseName(2)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(2)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(2)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(3)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(3)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(3)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(4)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(4)); // 生成一个两个字的中文名字
        System.out.println(generateRandomChineseName(4)); // 生成一个两个字的中文名字
    }

    public static String generateRandomChineseName(int length) {
        if (length <= 0) {
            return "";
        }
        Random random = new Random();
        StringBuilder name = new StringBuilder();
        for (int i = 0; i < length; i++) {
            int high = 0x4e00; // 设置高位为中文字符的开始
            int low = 0x9fa5; // 设置低位为中文字符的结束
            int codePoint = high + random.nextInt(low - high + 1); // 生成对应的unicode码
            name.append(Character.toChars(codePoint)); // 将unicode码转换为字符并添加到名字中
        }
        return name.toString();
    }
}
